import {regNumLetters,regStaffNum,regChinese,regMobPho,regCapital,regCardNo,regQQ,regNonnegativeInt,regNonnegativeNum,regRealNum} from '@/assets/js/reg.js'
/* 验证时否是数字、字母 */
function validateNumLetters(str) {
  if (!regNumLetters.test(str)) {
    return false
  }
  return true
}

/* 验证时否是数字 */
function validateNum(str) {
  if (!regStaffNum.test(str)) {
    return false
  }
  return true
}

/* 验证时否是中文 */
function validateChinese(str) {
  if (!regChinese.test(str)) {
    return false                                                                                //  非中文
  }
  return true                                                                                   //  中文
}

/* 验证时否为11位有效手机号码 */
function validateMobPho(str) {
    if (!regMobPho.test(str)) {
      return false                                                                                //  非法
    }
    return true                                                                                   //  合法身份证
}
  
/* 验证是否为大写字母 */
function validateCapital(str) {
    if (!regCapital.test(str)) {
      return false                                                                                //  不是大写字母
    }
    return true                                                                                   //  大写
}
  
/* 验证是否为身份证 */
function validateCardNo(str) {
    if (!regCardNo.test(str)) {
      return false                                                                                //  身份证不合法
    }
    return true                                                                                   //  身份证合法
}
  
/* 验证QQ */
function validateQQ(str) {
    if (!regQQ.test(str)) {
      return false                                                                                //  qq不合法
    }
    return true                                                                                   //  qq合法
  }

/*返回前端分页数据 */
function getPageData(startIndex,endIndex,arr){
    let newArr = []
    for(let i = startIndex; i<= endIndex;i++){
          newArr.push(arr[i])
    }
    return newArr
}
 
 // base64转成Blob对象 
 function dataURItoBlob(base64Data) { 
    let byteString
    if (base64Data.split(",")[0].indexOf("base64") >= 0) 
      byteString = atob(base64Data.split(",")[1])
    else 
      byteString = unescape(base64Data.split(",")[1])
    let mimeString = base64Data .split(",")[0] .split(":")[1] .split(";")[0]; 
    let ia = new Uint8Array(byteString.length); 
    for (let i = 0; i < byteString.length; i++) { 
        ia[i] = byteString.charCodeAt(i); 
    } 
    return new Blob([ia], { type: mimeString })
}

/* 判断是否为非负整数 */
function validateNonnegativeInt(str) {          
    if (!regNonnegativeInt.test(str)) {
        return false                                                                                //  qq不合法
    }
    return true                                                                                   //  qq合法
}

/* 判断是否为非负数 */
function validateNonnegativeNum(str) {          
    if (!regNonnegativeNum.test(str)) {
        return false                                                                                //  不合法
    }
    return true                                                                                   //  合法
}

/* 判断是否为实数 */
function validateRealNum(str) {          
    if (!regRealNum.test(str)) {
        return false                                                                                //  不合法
    }
    return true                                                                                   //  合法
}


/* 下载方法 */
function downFile(blob, fileName) { 
    if (window.navigator.msSaveOrOpenBlob) {
      navigator.msSaveBlob(blob, fileName)
    } else {
      var link = document.createElement('a')
      link.href = window.URL.createObjectURL(blob)
      link.download = fileName

        //此写法兼容可火狐浏览器
        document.body.appendChild(link);


      link.click()
        window.open(link.href)
        document.body.removeChild(link);
    //   window.URL.revokeObjectURL(link.href)
    }
  }

export {
  validateNumLetters,
    validateNum,
    validateChinese,
    getPageData,
    validateMobPho,
    validateCapital,
    validateCardNo,
    delArrEle,
    dataURItoBlob,
    validateQQ,
    isInteger,
    validateNonnegativeInt,
    validateNonnegativeNum,
    validateRealNum,
    downFile
}
